#ifndef CELL_H_
#define CELL_H_

#include <SFML/Graphics.hpp>

class Cell : public sf::Drawable
{
public:
    
    Cell();
    
    bool		isAlive()			{ return alive; }
    void		setAlive(bool v) 		{ alive = v; }
    void		setColor(sf::Color color);
    
    void		setGeneration(unsigned int num) { generation = num; }
    unsigned int	getGeneration()			{ return generation; }
    
    unsigned int 	neighbours();
    
private:
    
    bool 		alive;
    unsigned int 	side;
    
    unsigned int	generation;
    
    sf::Shape		texture;
    
    void Render(sf::RenderTarget& Target, sf::Renderer& Renderer) const;
};


#endif